import com.skype.StreamAdapter;
public final class Ap2ApAPITestServer {
public static void main(String[] args) throws Exception {
Skype.setDebug(true);
final Application application = Skype.addApplication(Ap2ApAPITest.APPLICATION_NAME);
final Object lock = new Object();
application.addApplicationListener(new ApplicationAdapter() {
public void connected(final Stream stream) throws SkypeException {
stream.addStreamListener(new StreamAdapter() {
@Override
public void textReceived(String text) throws SkypeException {
try {
if ("disconnect".equals(text)) {
stream.disconnect();
return;
}
stream.write(text);
} catch (SkypeException e) {
synchronized (lock) {
lock.notify();
}
System.err.println("couldn't respond to " + stream.getFriend().getId() + " text");
e.printStackTrace();
}
}
@Override
public void datagramReceived(String datagram) throws SkypeException {
try {
stream.send(datagram);
} catch (SkypeException e) {
synchronized (lock) {
lock.notify();
}
System.err.println("couldn't respond to " + stream.getFriend().getId() + " datagram");
e.printStackTrace();
}
}
});
}
@Override
public void disconnected(Stream stream) throws SkypeException {
synchronized (lock) {
lock.notify();
}
}
});
synchronized (lock) {
try {
lock.wait();
} catch (InterruptedException e) {
}
}
application.finish();
}