if (DBGpLogger.debugSession()) {
DBGpLogger.debug("Connection established: " + socket.toString()); //$NON-NLS-1$
}
try {
DBGpSession session = new DBGpSession(socket);
if (session.isActive()) {
if (!DBGpSessionHandler.getInstance().fireSessionAdded(session)) {
// Session not taken, we want to create a launch
AcceptRemoteSession aSess = XDebugPreferenceMgr
.getAcceptRemoteSession();
if (aSess != AcceptRemoteSession.off) {
if (aSess == AcceptRemoteSession.localhost
&& session.getRemoteAddress()
.isLoopbackAddress() == false) {
session.endSession();
} else if (aSess == AcceptRemoteSession.prompt) {
PromptUser prompt = new PromptUser(session);
Display.getDefault().syncExec(prompt);
if (prompt.isResult()) {
createLaunch(session);
} else {
session.endSession();
}
} else {
// session was either localhost or from any outside
// one and
// preferences allow it.
createLaunch(session);
}
} else {
// reject the session
session.endSession();
}
}
}
} catch (Exception e) {
DBGpLogger.logException(