/*
* Copyright (C) 2017 by Fonoster Inc (http://fonoster.com)
* http://astivetoolkit.org
*
* This file is part of Astive Toolkit(ATK)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.astivetoolkit.agi.command;
import java.io.Serializable;
import org.astivetoolkit.agi.annotation.AgiCommand;
import org.astivetoolkit.agi.annotation.Parameter;
/**
* Waits up to <code>timeout</code> milliseconds for channel to receive a DTMF
* digit.
*
* <p>Returns -1 on channel failure, 0 if no digit is received in the timeout,
* or the numerical value of the ASCII of the digit if one is received.
*
* <p>Use -1 for the <code>timeout</code> value if you desire the call to block
* indefinitely.
*
* @since 1.0
*/
@AgiCommand(command = "WAIT FOR DIGIT")
public class WaitForDigit implements Serializable {
private static final long serialVersionUID = 1274177415080200306L;
@Parameter(optional = false)
private Integer timeout;
/**
* Create a new WaitForDigit object.
*/
public WaitForDigit() {
}
/**
* Create a new WaitForDigit object with timeout.
*
* @param timeout time in milliseconds to wait for a digit.
*/
public WaitForDigit(Integer timeout) {
this.timeout = timeout;
}
/**
* Get time to wait for a digit.
*
* @return time(in milliseconds) to wait for a digit.
*/
public Integer getTimeout() {
return timeout;
}
/**
* Set time to wait for a digit or null to wait forever.
*
* @param timeout time(in milliseconds) to wait for a digit.
*/
public void setTimeout(Integer timeout) {
this.timeout = timeout;
}
}