diff -r 2ef1c6096069 -r ca323cff3ac9 src/net/java/otr4j/OtrEngineImpl.java --- a/src/net/java/otr4j/OtrEngineImpl.java Mon Dec 06 01:06:44 2010 +0100 +++ b/src/net/java/otr4j/OtrEngineImpl.java Tue Dec 07 22:57:56 2010 +0100 @@ -25,14 +25,14 @@ */ public class OtrEngineImpl implements OtrEngine { - public OtrEngineImpl(OtrEngineHost listener) { - if (listener == null) + public OtrEngineImpl(OtrEngineHost host) { + if (host == null) throw new IllegalArgumentException("OtrEgineHost is required."); - this.setListener(listener); + this.setHost(host); } - private OtrEngineHost listener; + private OtrEngineHost host; private Map sessions; private Session getSession(SessionID sessionID) { @@ -44,7 +44,7 @@ sessions = new Hashtable(); if (!sessions.containsKey(sessionID)) { - Session session = new SessionImpl(sessionID, getListener()); + Session session = new SessionImpl(sessionID, getHost()); sessions.put(sessionID, session); session.addOtrEngineListener(new OtrEngineListener() { @@ -54,64 +54,43 @@ l.sessionStatusChanged(sessionID); } }); - - } - - return sessions.get(sessionID); + return session; + } else + return sessions.get(sessionID); } public SessionStatus getSessionStatus(SessionID sessionID) { return this.getSession(sessionID).getSessionStatus(); } - public String transformReceiving(SessionID sessionID, String msgText) { - try { - return this.getSession(sessionID).transformReceiving(msgText); - } catch (OtrException e) { - listener.showError(sessionID, e.getMessage()); - return null; - } + public String transformReceiving(SessionID sessionID, String msgText) + throws OtrException { + return this.getSession(sessionID).transformReceiving(msgText); } - public String transformSending(SessionID sessionID, String msgText) { - try { - return this.getSession(sessionID).transformSending(msgText, null); - } catch (OtrException e) { - listener.showError(sessionID, e.getMessage()); - return null; - } + public String transformSending(SessionID sessionID, String msgText) + throws OtrException { + return this.getSession(sessionID).transformSending(msgText, null); + } + + public void endSession(SessionID sessionID) throws OtrException { + this.getSession(sessionID).endSession(); } - public void endSession(SessionID sessionID) { - try { - this.getSession(sessionID).endSession(); - } catch (OtrException e) { - listener.showError(sessionID, e.getMessage()); - } + public void startSession(SessionID sessionID) throws OtrException { + this.getSession(sessionID).startSession(); } - public void startSession(SessionID sessionID) { - try { - this.getSession(sessionID).startSession(); - } catch (OtrException e) { - listener.showError(sessionID, e.getMessage()); - } + private void setHost(OtrEngineHost host) { + this.host = host; } - private void setListener(OtrEngineHost listener) { - this.listener = listener; + private OtrEngineHost getHost() { + return host; } - private OtrEngineHost getListener() { - return listener; - } - - public void refreshSession(SessionID sessionID) { - try { - this.getSession(sessionID).refreshSession(); - } catch (OtrException e) { - listener.showError(sessionID, e.getMessage()); - } + public void refreshSession(SessionID sessionID) throws OtrException { + this.getSession(sessionID).refreshSession(); } public PublicKey getRemotePublicKey(SessionID sessionID) { @@ -125,7 +104,6 @@ if (!listeners.contains(l)) listeners.add(l); } - } public void removeOtrEngineListener(OtrEngineListener l) {