📄 tapiterminalconnection.java
字号:
/*
* JTAPI library copyright 1998 by Web4Groups consortium (http://Web4Groups.at)
*/
import java.telephony.*;
import java.telephony.events.*;
import java.telephony.capabilities.*;
class TAPITerminalConnection implements TerminalConnection {
int state = IDLE;
Call call;
TAPITerminal terminal;
Connection connection;
int line; //represents the line device identifier in TAPI
private native void TAPIAnswer(int line);
TAPITerminalConnection() {
}
TAPITerminalConnection(Call call, TAPITerminal terminal, Connection connection, int line) {
this.call = call;
this.terminal = terminal;
this.connection = connection;
this.line = line;
}
public int getState() {
return state;
}
public Terminal getTerminal() {
return terminal;
}
public Connection getConnection() {
return connection;
}
public void answer() throws PlatformException, InvalidStateException {
Provider provider = terminal.getProvider();
int s = provider.getState();
if (s != Provider.IN_SERVICE)
throw new InvalidStateException(provider, InvalidStateException.PROVIDER_OBJECT, s);
if (state != RINGING)
throw new InvalidStateException(this, InvalidStateException.TERMINAL_CONNECTION_OBJECT, state);
s = connection.getState();
if (s != Connection.ALERTING)
throw new InvalidStateException(connection, InvalidStateException.CONNECTION_OBJECT, s);
TAPIAnswer(line);
state = ACTIVE;
TAPIConnection conn = (TAPIConnection)getConnection();
conn.state = Connection.CONNECTED;
CallEv[] evList = new TAPICallEv[2];
evList[0] = new TAPITermConnActiveEv(terminal, call, this);
evList[1] = new TAPIConnConnectedEv(terminal, call, connection);
CallObserver[] obs = terminal.getCallObservers();
RunCallObservers ro = new RunCallObservers(obs, evList);
ro.start();
}
public TerminalConnectionCapabilities getTerminalConnectionCapabilities(Terminal terminal, Address address) {
return new TAPITerminalConnectionCapabilities();
}
static {
System.loadLibrary("KapschProvider");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -