package com.limegroup.gnutella.settings; import org.limewire.core.settings.ConnectionSettings; import org.limewire.net.ProxySettings; import com.google.inject.Singleton; /** * An implementation of {@link ProxySettings} that is based on LimeWire's * settings from {@link ConnectionSettings}. */ @Singleton public class SettingsBackedProxySettings implements ProxySettings { public ProxyType getCurrentProxyType() { switch (ConnectionSettings.CONNECTION_METHOD.getValue()) { case ConnectionSettings.C_HTTP_PROXY: return ProxyType.HTTP; case ConnectionSettings.C_SOCKS4_PROXY: return ProxyType.SOCKS4; case ConnectionSettings.C_SOCKS5_PROXY: return ProxyType.SOCKS5; default: return ProxyType.NONE; } } public String getProxyPassword() { return ConnectionSettings.PROXY_PASS.get(); } public String getProxyUsername() { return ConnectionSettings.PROXY_USERNAME.get(); } public boolean isProxyAuthenticationRequired() { return ConnectionSettings.PROXY_AUTHENTICATE.getValue(); } public boolean isProxyForPrivateEnabled() { return ConnectionSettings.USE_PROXY_FOR_PRIVATE.getValue(); } public String getProxyHost() { return ConnectionSettings.PROXY_HOST.get(); } public int getProxyPort() { return ConnectionSettings.PROXY_PORT.getValue(); } }