コード例 #1
0
ファイル: Program.cs プロジェクト: synel/SynUtil
 private static void RunTerminal()
 {
     using (var client = SynelClient.Connect(_host, _port, _terminalId, Timeout))
     {
         client.Terminal.Run();
     }
 }
コード例 #2
0
ファイル: Program.cs プロジェクト: synel/SynUtil
 private static void ResetData()
 {
     using (var client = SynelClient.Connect(_host, _port, _terminalId, Timeout))
     {
         client.Terminal.ResetBuffer();
         Console.WriteLine("Data has been reset.");
     }
 }
コード例 #3
0
ファイル: Program.cs プロジェクト: synel/SynUtil
 private static void ClearData()
 {
     using (var client = SynelClient.Connect(_host, _port, _terminalId, Timeout))
     {
         client.Terminal.ClearBuffer();
         Console.WriteLine("Data has been cleared.");
     }
 }
コード例 #4
0
ファイル: Program.cs プロジェクト: synel/SynUtil
 private static void FixMemCrash()
 {
     using (var client = SynelClient.Connect(_host, _port, _terminalId, Timeout))
         using (var p = client.Terminal.Programming())
         {
             p.FixMemCrash();
             Console.WriteLine("Sent command to fix terminal memcrash.");
         }
 }
コード例 #5
0
 public void Can_Block_Connections_To_The_Same_Terminal()
 {
     using (var client1 = SynelClient.Connect("10.10.11.128"))
         using (var client2 = SynelClient.Connect("10.10.11.128"))
         {
             Assert.IsTrue(client1.Connected);
             Assert.IsTrue(client2.Connected);
         }
 }
コード例 #6
0
 public void Can_Connect_To_Multiple_Terminals_Over_Tcp()
 {
     using (var client1 = SynelClient.Connect("010.010.011.128"))
         using (var client2 = SynelClient.Connect("010.010.011.140"))
         {
             Assert.IsTrue(client1.Connected);
             Assert.IsTrue(client2.Connected);
         }
 }
コード例 #7
0
ファイル: Program.cs プロジェクト: synel/SynUtil
 private static void DeleteAllTables()
 {
     using (var client = SynelClient.Connect(_host, _port, _terminalId, Timeout))
         using (var p = client.Terminal.Programming())
         {
             p.DeleteAllTables();
             Console.WriteLine("Sent command to delete all tables from the terminal.");
         }
 }
コード例 #8
0
ファイル: Program.cs プロジェクト: synel/SynUtil
 private static void GetFingerprintInfo()
 {
     using (var client = SynelClient.Connect(_host, _port, _terminalId, Timeout))
         using (var p = client.Terminal.Programming())
         {
             var status = p.Fingerprint.GetUnitStatus();
             ClearOutputFile();
             OutputLine("Comparison Mode:   {0}", status.ComparisonMode);
             OutputLine("Kernel Version:    {0}", new object[] { status.KernelVersion });
             OutputLine("Loaded Templates:  {0}", status.LoadedTemplates);
             OutputLine("Maximum Templates: {0}", status.MaximumTemplates);
             OutputLine("FPU Mode:          {0}", status.FingerprintUnitMode);
             OutputLine("Global Threshold:  {0}", status.GlobalThreshold);
             OutputLine("Enroll Mode:       {0}", status.EnrollMode);
         }
 }
コード例 #9
0
ファイル: Program.cs プロジェクト: synel/SynUtil
        private static void SetFingerThreshold(string setting)
        {
            FingerprintThreshold threshold;

            if (!Enum.TryParse(setting, true, out threshold))
            {
                Console.WriteLine("Invalid threshold.  Pass one of \"VeryHigh\", \"High\", \"Medium\", \"Low\" or \"VeryLow\"");
                return;
            }

            using (var client = SynelClient.Connect(_host, _port, _terminalId, Timeout))
                using (var p = client.Terminal.Programming())
                {
                    p.Fingerprint.SetThreshold(threshold);
                    Console.WriteLine("Set the fingerprint global threshold to {0}.", threshold);
                }
        }
コード例 #10
0
ファイル: Program.cs プロジェクト: synel/SynUtil
        private static void SetFingerMode(string setting)
        {
            FingerprintUnitModes mode;

            if (!Enum.TryParse(setting, true, out mode))
            {
                Console.WriteLine("Invalid mode.  Pass either \"Master\" or \"Slave\"");
                return;
            }

            using (var client = SynelClient.Connect(_host, _port, _terminalId, Timeout))
                using (var p = client.Terminal.Programming())
                {
                    p.Fingerprint.SetUnitMode(mode);
                    Console.WriteLine("Set the fingerprint unit mode to {0}.", mode);
                }
        }
コード例 #11
0
ファイル: Program.cs プロジェクト: synel/SynUtil
 private static void GetHardwareInfo()
 {
     using (var client = SynelClient.Connect(_host, _port, _terminalId, Timeout))
     {
         var info = client.Terminal.GetHardwareConfiguration();
         ClearOutputFile();
         OutputLine("Terminal ID:         {0}", info.TerminalId);
         OutputLine("Terminal Type:       {0}", info.TerminalType);
         OutputLine("Firmware Version:    {0} ({1:d})", info.FirmwareVersion, info.FirmwareDate);
         OutputLine("Keyboard Type:       {0}", info.KeyboardType);
         OutputLine("Display Type:        {0}", info.DisplayType);
         OutputLine("FPU Type:            {0}", info.FingerprintUnitType);
         OutputLine("FPU Mode:            {0}", info.FingerprintUnitMode);
         OutputLine("Serial Port Info:    {0} {1}", info.HostSerialBaudRate, info.HostSerialParameters.ToUpperInvariant());
         OutputLine("User Defined Field:  {0}", info.UserDefinedField);
     }
 }
コード例 #12
0
ファイル: Program.cs プロジェクト: synel/SynUtil
        private static void SetFingerEnrollment(string setting)
        {
            FingerprintEnrollModes mode;

            if (!Enum.TryParse(setting, true, out mode))
            {
                Console.WriteLine("Invalid mode.  Pass one of \"Once\", \"Twice\", or \"Dual\"");
                return;
            }

            using (var client = SynelClient.Connect(_host, _port, _terminalId, Timeout))
                using (var p = client.Terminal.Programming())
                {
                    p.Fingerprint.SetEnrollMode(mode);
                    Console.WriteLine("Set the fingerprint enroll mode to {0}.", mode);
                }
        }
コード例 #13
0
ファイル: Program.cs プロジェクト: synel/SynUtil
 private static void GetData()
 {
     using (var client = SynelClient.Connect(_host, _port, _terminalId, Timeout))
     {
         string item;
         bool   gotData = false;
         while ((item = client.Terminal.GetDataAndAcknowledge()) != null)
         {
             OutputLine(item);
             gotData = true;
         }
         if (!gotData)
         {
             Console.WriteLine("The terminal has no transaction data to send.");
         }
     }
 }
コード例 #14
0
ファイル: Program.cs プロジェクト: synel/SynUtil
 private static void GetNetworkInfo()
 {
     using (var client = SynelClient.Connect(_host, _port, _terminalId, Timeout))
     {
         var info = client.Terminal.GetNetworkConfiguration();
         ClearOutputFile();
         OutputLine("Network Card:        {0} (ver {1})", info.NetworkCardType, info.NetworkCardFirmwareVersion);
         OutputLine("Transport Type:      {0}", info.TransportType.ToString().ToUpperInvariant());
         OutputLine("MAC Address:         {0}", info.TerminalMACAddress);
         OutputLine("IP Address/Port:     {0}:{1}", info.TerminalIPAddress, info.TerminalPort);
         OutputLine("Remote Address/Port: {0}:{1}", info.RemoteIPAddress, info.RemotePort);
         OutputLine("Subnet Mask:         {0}", info.SubnetMask);
         OutputLine("Gateway Address:     {0}", info.GatewayIPAddress);
         OutputLine("Disconnect Time:     {0} seconds", info.DisconnectTime.TotalSeconds);
         OutputLine("Polling Interval:    {0} seconds", info.PollingInterval.TotalSeconds);
         OutputLine("Polling Enabled:     {0}", info.EnablePolling);
         OutputLine("DHCP Enabled:        {0}", info.EnableDHCP);
         OutputLine("MAC Sending Enabled: {0}", info.EnableSendMAC);
     }
 }
コード例 #15
0
ファイル: Program.cs プロジェクト: synel/SynUtil
        private static void SetTime(string[] commandArgs)
        {
            DateTime dt;

            if (commandArgs.Length == 0)
            {
                dt = DateTime.Now;
            }
            else if (commandArgs.Length != 2 ||
                     !DateTime.TryParseExact(string.Join(" ", commandArgs), "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt))
            {
                Console.WriteLine("Leave blank to set the current time from this computer,");
                Console.WriteLine("or pass in YYYY-MM-DD HH:MM:SS format.");
                return;
            }

            using (var client = SynelClient.Connect(_host, _port, _terminalId, Timeout))
            {
                client.Terminal.SetTerminalClock(dt);
                Console.WriteLine("Set the terminal clock to {0:g}", dt);
            }
        }
コード例 #16
0
ファイル: Program.cs プロジェクト: synel/SynUtil
 private static void GetStatus()
 {
     using (var client = SynelClient.Connect(_host, _port, _terminalId, Timeout))
     {
         var info = client.Terminal.GetTerminalStatus();
         ClearOutputFile();
         OutputLine("Hardware Model:      {0}", info.HardwareModel);
         OutputLine("Hardware Revision:   {0}", info.HardwareRevision);
         OutputLine("Firmware Version:    {0}", info.FirmwareVersion);
         OutputLine("Terminal Type:       {0}", info.TerminalType);
         OutputLine("Current Time:        {0:g}", info.Timestamp);
         OutputLine("Active Function:     {0}", info.ActiveFunction);
         OutputLine("Powered On:          {0}", info.PoweredOn);
         OutputLine("Buffers Full:        {0}", info.BuffersFull);
         OutputLine("Buffers Faulty:      {0}", info.BuffersFaulty);
         OutputLine("Buffers Transmitted: {0}", info.BuffersTransmitted);
         OutputLine("Buffers Empty:       {0}", info.BuffersEmpty);
         OutputLine("Memory Used:         {0} bytes", info.MemoryUsed);
         OutputLine("Polling Interval:    {0} seconds", info.PollingInterval.TotalSeconds);
         OutputLine("Transport Type:      {0}", info.TransportType.ToString().ToUpperInvariant());
         OutputLine("FPU Mode:            {0}", info.FingerprintUnitMode);
         OutputLine("User Defined Field:  {0}", info.UserDefinedField);
     }
 }
コード例 #17
0
ファイル: Program.cs プロジェクト: synel/SynUtil
        private static void DeleteTable(string tableName)
        {
            if (tableName.Length != 4)
            {
                Console.WriteLine("Invalid table name.");
                return;
            }

            var type = tableName[0];
            int id;

            if (!int.TryParse(tableName.Substring(1), out id))
            {
                Console.WriteLine("Invalid table name.");
                return;
            }

            using (var client = SynelClient.Connect(_host, _port, _terminalId, Timeout))
                using (var p = client.Terminal.Programming())
                {
                    p.DeleteTable(type, id);
                    Console.WriteLine("Sent command to delete table {0} from the terminal.", tableName);
                }
        }
コード例 #18
0
ファイル: TestSettings.cs プロジェクト: synel/syndll2
 public static SynelClient Connect()
 {
     return(SynelClient.Connect(HostAddress, TcpPort, TerminalId, TimeSpan.FromSeconds(5)));
 }
コード例 #19
0
ファイル: Program.cs プロジェクト: synel/SynUtil
        private static void UploadFile(IEnumerable <string> paths)
        {
            using (var client = SynelClient.Connect(_host, _port, _terminalId, Timeout))
                using (var p = client.Terminal.Programming())
                {
                    Console.CursorVisible = false;

                    string filename = null;

                    var uniqueFiles = new List <string>();

                    if (!_verbose)
                    {
                        Console.WriteLine();

                        p.ProgressChanged += (sender, args) =>
                        {
                            if (filename != args.Filename)
                            {
                                filename = args.Filename;
                                Console.Write("Uploading {0} ", filename.PadRight(12, ' '));
                                uniqueFiles.Add(filename);
                            }

                            const int barSize = 30;

                            DrawProgressBar(args.CurrentBlock, args.TotalBlocks, barSize);

                            if (args.CurrentBlock == args.TotalBlocks)
                            {
                                Console.CursorLeft += barSize + 1;
                                Console.WriteLine("Complete!");
                            }
                        };
                    }

                    foreach (var path in paths)
                    {
                        var pattern = Path.GetFileName(path);
                        if (pattern == null)
                        {
                            continue;
                        }

                        var directory = path.Substring(0, path.Length - pattern.Length);
                        if (directory == string.Empty)
                        {
                            directory = ".";
                        }

                        // get files, sorting directory files first.
                        var fullDir = Path.GetFullPath(directory);
                        var files   = Directory.GetFiles(fullDir, pattern)
                                      .OrderBy(x => (x.StartsWith("dir", StringComparison.OrdinalIgnoreCase) ? "0" : "1") + x);

                        foreach (var file in files)
                        {
                            // skip files we've already uploaded
                            var thisFilename = Path.GetFileName(file);
                            if (thisFilename == null || uniqueFiles.Contains(thisFilename, StringComparer.OrdinalIgnoreCase))
                            {
                                continue;
                            }

                            var thisPath = Path.Combine(fullDir, file);
                            p.UploadTableFromFile(thisPath, force: _force);
                        }
                    }


                    if (!_verbose)
                    {
                        Console.CursorVisible = true;
                    }
                }
        }
コード例 #20
0
ファイル: TestSettings.cs プロジェクト: synel/syndll2
 public static Task <SynelClient> ConnectAsync()
 {
     return(SynelClient.ConnectAsync(HostAddress, TcpPort, TerminalId, TimeSpan.FromSeconds(5)));
 }