| /* |
| * libbrlapi - A library providing access to braille terminals for applications. |
| * |
| * Copyright (C) 2006-2023 by |
| * Samuel Thibault <Samuel.Thibault@ens-lyon.org> |
| * Sébastien Hinderer <Sebastien.Hinderer@ens-lyon.org> |
| * |
| * libbrlapi comes with ABSOLUTELY NO WARRANTY. |
| * |
| * This is free software, placed under the terms of the |
| * GNU Lesser General Public License, as published by the Free Software |
| * Foundation; either version 2.1 of the License, or (at your option) any |
| * later version. Please see the file LICENSE-LGPL for details. |
| * |
| * Web Page: http://brltty.app/ |
| * |
| * This software is maintained by Dave Mielke <dave@mielke.cc>. |
| */ |
| |
| package org.a11y.brlapi.clients; |
| |
| import org.a11y.brlapi.*; |
| |
| public class PauseClient extends Client { |
| public final static byte MINIMUM_WAIT_TIME = 1; |
| public final static byte DEFAULT_WAIT_TIME = 5; |
| |
| private byte waitTime = DEFAULT_WAIT_TIME; |
| private final OperandUsage waitTimeUsage = new OperandUsage("wait time") |
| .setDefault(waitTime) |
| .setRangeMinimum(MINIMUM_WAIT_TIME) |
| .setRangeUnits("seconds") |
| ; |
| |
| protected final int getWaitTime () { |
| return waitTime * 1000; |
| } |
| |
| protected final boolean pause (Connection connection) { |
| return pause(connection, getWaitTime()); |
| } |
| |
| public PauseClient (String... arguments) { |
| super(arguments); |
| // don't add parameters to this client because some other clients extend it |
| |
| addOption("wait", |
| (operands) -> { |
| waitTime = Parse.asByte( |
| waitTimeUsage.getOperandDescription(), |
| operands[0], MINIMUM_WAIT_TIME |
| ); |
| }, |
| "seconds" |
| ); |
| } |
| |
| @Override |
| protected void extendUsageSummary (StringBuilder usage) { |
| super.extendUsageSummary(usage); |
| |
| waitTimeUsage.appendTo(usage); |
| } |
| |
| @Override |
| protected void runClient (Connection connection) |
| throws ProgramException |
| { |
| printf("Pausing for %d seconds...", waitTime); |
| String result; |
| |
| if (pause(connection)) { |
| result = "pause completed"; |
| } else { |
| result = "pause interrupted"; |
| } |
| |
| printf(" %s\n", result); |
| } |
| } |