浏览代码

Servers are now completely detached from IRC parser. Issue 2736.

tags/0.6.3m2a1
Chris Smith 15 年前
父节点
当前提交
4d1685958b

+ 1
- 1
src/com/dmdirc/ParserFactory.java 查看文件

@@ -26,7 +26,7 @@ import com.dmdirc.logger.ErrorLevel;
26 26
 import com.dmdirc.logger.Logger;
27 27
 import com.dmdirc.parser.interfaces.Parser;
28 28
 import com.dmdirc.parser.irc.IRCParser;
29
-import com.dmdirc.parser.irc.MyInfo;
29
+import com.dmdirc.parser.common.MyInfo;
30 30
 import com.dmdirc.parser.irc.ServerInfo;
31 31
 import com.dmdirc.util.IrcAddress;
32 32
 

+ 3
- 36
src/com/dmdirc/Server.java 查看文件

@@ -41,10 +41,7 @@ import com.dmdirc.parser.interfaces.ClientInfo;
41 41
 import com.dmdirc.parser.interfaces.Parser;
42 42
 import com.dmdirc.parser.interfaces.SecureParser;
43 43
 import com.dmdirc.parser.interfaces.StringConverter;
44
-import com.dmdirc.parser.irc.IRCParser;
45
-import com.dmdirc.parser.irc.IRCStringConverter;
46
-import com.dmdirc.parser.irc.MyInfo;
47
-import com.dmdirc.parser.irc.ServerInfo;
44
+import com.dmdirc.parser.common.MyInfo;
48 45
 import com.dmdirc.ui.WindowManager;
49 46
 import com.dmdirc.ui.input.TabCompleter;
50 47
 import com.dmdirc.ui.input.TabCompletionType;
@@ -143,7 +140,7 @@ public class Server extends WritableFrameContainer implements Serializable {
143 140
     private final IgnoreList ignoreList = new IgnoreList();
144 141
 
145 142
     /** Our string convertor. */
146
-    private StringConverter converter = new IRCStringConverter();
143
+    private StringConverter converter;
147 144
 
148 145
     // </editor-fold>
149 146
     
@@ -674,36 +671,6 @@ public class Server extends WritableFrameContainer implements Serializable {
674 671
 
675 672
     // <editor-fold defaultstate="collapsed" desc="Miscellaneous methods">
676 673
 
677
-    /**
678
-     * Construsts a {@link ServerInfo} object for the specified details.
679
-     *
680
-     * @param server The hostname or IP address of the server
681
-     * @param port The port of the server
682
-     * @param password The password to use, if any
683
-     * @param ssl Whether or not to use SSL
684
-     * @return An appropriately configured ServerInfo instance
685
-     */
686
-    private ServerInfo buildServerInfo(final String server, final int port,
687
-            final String password, final boolean ssl) {
688
-        final ServerInfo myInfo = new ServerInfo(server, port, password);
689
-        myInfo.setSSL(ssl);
690
-
691
-        if (getConfigManager().hasOptionString(DOMAIN_SERVER, "proxy.address")) {
692
-            myInfo.setUseSocks(true);
693
-
694
-            myInfo.setProxyHost(getConfigManager()
695
-                    .getOption(DOMAIN_SERVER, "proxy.address"));
696
-            myInfo.setProxyUser(getConfigManager()
697
-                    .getOption(DOMAIN_SERVER, "proxy.user"));
698
-            myInfo.setProxyPass(getConfigManager()
699
-                    .getOption(DOMAIN_SERVER, "proxy.password"));
700
-            myInfo.setProxyPort(getConfigManager()
701
-                    .getOptionInt(DOMAIN_SERVER, "proxy.port"));
702
-        }
703
-
704
-        return myInfo;
705
-    }
706
-
707 674
     /**
708 675
      * Builds an appropriately configured {@link IRCParser} for this server.
709 676
      *
@@ -822,7 +789,7 @@ public class Server extends WritableFrameContainer implements Serializable {
822 789
     /** {@inheritDoc} */
823 790
     @Override
824 791
     public int getMaxLineLength() {
825
-        return IRCParser.MAX_LINELENGTH;
792
+        return parser == null ? -1 : parser.getMaxLength();
826 793
     }
827 794
 
828 795
     /**

src/com/dmdirc/parser/irc/MyInfo.java → src/com/dmdirc/parser/common/MyInfo.java 查看文件

@@ -20,7 +20,7 @@
20 20
  * SOFTWARE.
21 21
  */
22 22
 
23
-package com.dmdirc.parser.irc;
23
+package com.dmdirc.parser.common;
24 24
 
25 25
 /**
26 26
  * Contains User information.
@@ -29,7 +29,8 @@ package com.dmdirc.parser.irc;
29 29
  * @author Chris Smith
30 30
  * @see IRCParser
31 31
  */
32
-public final class MyInfo {
32
+public class MyInfo {
33
+    
33 34
 	/** Character to prepend to nickname if in use (Default "_"). */
34 35
 	private char prependChar = '_';	
35 36
 	/** Nickname to attempt to use on IRC. */

+ 7
- 0
src/com/dmdirc/parser/interfaces/Parser.java 查看文件

@@ -90,6 +90,13 @@ public interface Parser extends Runnable {
90 90
      */
91 91
     int getMaxLength(String type, String target);
92 92
 
93
+    /**
94
+     * Determines the maximum length any message/raw command may be.
95
+     *
96
+     * @return The maximum length of a message
97
+     */
98
+    int getMaxLength();
99
+
93 100
     /**
94 101
      * Returns a {@link ClientInfo} object which represents the locally
95 102
      * connected client.

+ 7
- 0
src/com/dmdirc/parser/irc/IRCParser.java 查看文件

@@ -22,6 +22,7 @@
22 22
 
23 23
 package com.dmdirc.parser.irc;
24 24
 
25
+import com.dmdirc.parser.common.MyInfo;
25 26
 import com.dmdirc.parser.common.IgnoreList;
26 27
 import com.dmdirc.parser.common.ParserError;
27 28
 import com.dmdirc.parser.interfaces.SecureParser;
@@ -2032,4 +2033,10 @@ public class IRCParser implements SecureParser, Runnable {
2032 2033
         return 0;
2033 2034
     }
2034 2035
 
2036
+    /** {@inheritDoc} */
2037
+    @Override
2038
+    public int getMaxLength() {
2039
+        return MAX_LINELENGTH;
2040
+    }
2041
+
2035 2042
 }

+ 1
- 0
test/com/dmdirc/harness/parser/TestParser.java 查看文件

@@ -22,6 +22,7 @@
22 22
 
23 23
 package com.dmdirc.harness.parser;
24 24
 
25
+import com.dmdirc.parser.common.MyInfo;
25 26
 import com.dmdirc.parser.interfaces.Parser;
26 27
 import com.dmdirc.parser.irc.*;
27 28
 import java.util.ArrayList;

+ 1
- 0
test/com/dmdirc/parser/irc/IRCParserTest.java 查看文件

@@ -22,6 +22,7 @@
22 22
 
23 23
 package com.dmdirc.parser.irc;
24 24
 
25
+import com.dmdirc.parser.common.MyInfo;
25 26
 import com.dmdirc.parser.common.ChannelListModeItem;
26 27
 import com.dmdirc.parser.common.ParserError;
27 28
 import com.dmdirc.harness.parser.TestIPrivateCTCP;

正在加载...
取消
保存