⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tapiterminalconnection.java

📁 tapi的java封装
💻 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 + -