Pessoal, não sei se o o Tópico foi criado no lugar certo, se está errado me perdoem.
PROBLEMA:
Preciso capturar os eventos disparados por uma DLL, activeX.
No meu caso, tenho uma dll que é integrada com sistema de telefonia, e por exemplo, quando o operador
tira o telefone do gancho um evento é disparado na dll.
Estou utilizando o JACOB, está funcionando perfeito para chamar métodos e ler propriedades EXCETO para capturar eventos.
Com javascript eu consigo fazer funcionar tudo inclusive capturar os eventos, mas eu queria passar todo código de javascript para JAVA.
Já procurei em todos os lugares possíveis e achei a documentação complicada, aí resolvi recorrer a comunidade do GUJ.
Antes de mais nada, eu achei um único exemplo que diz integrar com iTunes e escutar os eventos.
Link: http://www.workingwith.me.uk/articles/java/itunes-com-with-java-and-swing
Não conseguir fazer funcionar com a minha dll.
Me ajudem, abraços !!!
CLASSE QUE CARREGA A DLL:
public Telefonia() {
ComThread.InitMTA(true);
//Carrega dll ActiveX
unique = new ActiveXComponent("CtUniqueOcx.CtUnique");
/* Ativar Log da dll e salvar em c:\log */
setLogDirectory("c:\\log");
setLogActive(true);
Dispatch Controller = (Dispatch)unique.getObject();
DispatchEvents events = new DispatchEvents(Controller, new Eventos());
try {
System.in.read();
} catch (IOException e) {}
ComThread.Release();
System.exit(0);
}
CLASSE COM OS EVENTOS DA DLL
package com.clebio.telefonia.eventos;
import com.jacob.com.Variant;
public class Eventos {
public void OnDisconnect() {
System.out.println("OnDisconnect");
}
public void OnCallReceived(Variant arg1,Variant arg2,Variant arg3,
Variant arg4,Variant arg5) {
System.out.println("OnCallReceived");
}
public void OnAgentStateStateChange(Variant arg) {
System.out.println("OnAgentStateStateChange");
}
public void OnPrimaryCallStateChange(Variant arg) {
System.out.println("OnAgentStateStateChange");
}
public void OnSecondaryCallStateChange(Variant arg) {
System.out.println("OnSecondaryCallStateChange");
}
public void OnAutomaticCallFinish(Variant arg1,Variant arg2) {
System.out.println("OnAutomaticCallFinish");
}
public void OnBlockStart() {
System.out.println("OnBlockStart");
}
public void OnBlockFinish() {
System.out.println("OnBlockFinish");
}
public void OnInternalException(Variant arg) {
System.out.println("OnInternalException");
}
}