|
@@ -109,8 +109,6 @@ public final class Server extends WritableFrameContainer implements Serializable
|
109
|
109
|
private final TabCompleter tabCompleter = new TabCompleter();
|
110
|
110
|
/** The last activated internal frame for this server. */
|
111
|
111
|
private FrameContainer activeFrame = this;
|
112
|
|
- /** The config manager for this server. */
|
113
|
|
- private ConfigManager configManager;
|
114
|
112
|
|
115
|
113
|
/** Our reason for being away, if any. */
|
116
|
114
|
private String awayMessage;
|
|
@@ -153,13 +151,11 @@ public final class Server extends WritableFrameContainer implements Serializable
|
153
|
151
|
*/
|
154
|
152
|
public Server(final String server, final int port, final String password,
|
155
|
153
|
final boolean ssl, final Identity profile, final List<String> autochannels) {
|
156
|
|
- super("server-disconnected");
|
|
154
|
+ super("server-disconnected", new ConfigManager("", "", server));
|
157
|
155
|
|
158
|
156
|
serverInfo = new ServerInfo(server, port, password);
|
159
|
157
|
serverInfo.setSSL(ssl);
|
160
|
158
|
|
161
|
|
- configManager = new ConfigManager("", "", server);
|
162
|
|
-
|
163
|
159
|
window = Main.getUI().getServer(this);
|
164
|
160
|
|
165
|
161
|
ServerManager.getServerManager().registerServer(this);
|
|
@@ -189,9 +185,9 @@ public final class Server extends WritableFrameContainer implements Serializable
|
189
|
185
|
channel.checkWho();
|
190
|
186
|
}
|
191
|
187
|
}
|
192
|
|
- }, 0, configManager.getOptionInt(DOMAIN_GENERAL, "whotime", 60000));
|
|
188
|
+ }, 0, getConfigManager().getOptionInt(DOMAIN_GENERAL, "whotime", 60000));
|
193
|
189
|
|
194
|
|
- if (configManager.getOptionBool(DOMAIN_GENERAL, "showrawwindow", false)) {
|
|
190
|
+ if (getConfigManager().getOptionBool(DOMAIN_GENERAL, "showrawwindow", false)) {
|
195
|
191
|
addRaw();
|
196
|
192
|
}
|
197
|
193
|
|
|
@@ -227,7 +223,7 @@ public final class Server extends WritableFrameContainer implements Serializable
|
227
|
223
|
return;
|
228
|
224
|
case CONNECTED:
|
229
|
225
|
case CONNECTING:
|
230
|
|
- disconnect(configManager.getOption(DOMAIN_GENERAL, "quitmessage"));
|
|
226
|
+ disconnect(getConfigManager().getOption(DOMAIN_GENERAL, "quitmessage"));
|
231
|
227
|
break;
|
232
|
228
|
case DISCONNECTING:
|
233
|
229
|
onSocketClosed();
|
|
@@ -249,7 +245,7 @@ public final class Server extends WritableFrameContainer implements Serializable
|
249
|
245
|
|
250
|
246
|
this.profile = profile;
|
251
|
247
|
|
252
|
|
- configManager = new ConfigManager("", "", server);
|
|
248
|
+ getConfigManager().migrate("", "", server);
|
253
|
249
|
|
254
|
250
|
updateIcon();
|
255
|
251
|
|
|
@@ -262,8 +258,8 @@ public final class Server extends WritableFrameContainer implements Serializable
|
262
|
258
|
parser.setCreateFake(true);
|
263
|
259
|
parser.setIgnoreList(ignoreList);
|
264
|
260
|
|
265
|
|
- if (configManager.hasOption(DOMAIN_GENERAL, "bindip")) {
|
266
|
|
- parser.setBindIP(configManager.getOption(DOMAIN_GENERAL, "bindip"));
|
|
261
|
+ if (getConfigManager().hasOption(DOMAIN_GENERAL, "bindip")) {
|
|
262
|
+ parser.setBindIP(getConfigManager().getOption(DOMAIN_GENERAL, "bindip"));
|
267
|
263
|
}
|
268
|
264
|
|
269
|
265
|
doCallbacks();
|
|
@@ -300,14 +296,14 @@ public final class Server extends WritableFrameContainer implements Serializable
|
300
|
296
|
* Reconnects to the IRC server.
|
301
|
297
|
*/
|
302
|
298
|
public void reconnect() {
|
303
|
|
- reconnect(configManager.getOption(DOMAIN_GENERAL, "reconnectmessage"));
|
|
299
|
+ reconnect(getConfigManager().getOption(DOMAIN_GENERAL, "reconnectmessage"));
|
304
|
300
|
}
|
305
|
301
|
|
306
|
302
|
/**
|
307
|
303
|
* Disconnects from the server with the default quit message.
|
308
|
304
|
*/
|
309
|
305
|
public void disconnect() {
|
310
|
|
- disconnect(configManager.getOption(DOMAIN_GENERAL, "quitmessage"));
|
|
306
|
+ disconnect(getConfigManager().getOption(DOMAIN_GENERAL, "quitmessage"));
|
311
|
307
|
}
|
312
|
308
|
|
313
|
309
|
/**
|
|
@@ -339,13 +335,13 @@ public final class Server extends WritableFrameContainer implements Serializable
|
339
|
335
|
parser.disconnect(reason);
|
340
|
336
|
}
|
341
|
337
|
|
342
|
|
- if (configManager.getOptionBool(DOMAIN_GENERAL, "closechannelsonquit", false)) {
|
|
338
|
+ if (getConfigManager().getOptionBool(DOMAIN_GENERAL, "closechannelsonquit", false)) {
|
343
|
339
|
closeChannels();
|
344
|
340
|
} else {
|
345
|
341
|
clearChannels();
|
346
|
342
|
}
|
347
|
343
|
|
348
|
|
- if (configManager.getOptionBool(DOMAIN_GENERAL, "closequeriesonquit", false)) {
|
|
344
|
+ if (getConfigManager().getOptionBool(DOMAIN_GENERAL, "closequeriesonquit", false)) {
|
349
|
345
|
closeQueries();
|
350
|
346
|
}
|
351
|
347
|
}
|
|
@@ -355,7 +351,7 @@ public final class Server extends WritableFrameContainer implements Serializable
|
355
|
351
|
*/
|
356
|
352
|
private void doDelayedReconnect() {
|
357
|
353
|
final int delay = Math.max(1,
|
358
|
|
- configManager.getOptionInt(DOMAIN_GENERAL, "reconnectdelay", 5000));
|
|
354
|
+ getConfigManager().getOptionInt(DOMAIN_GENERAL, "reconnectdelay", 5000));
|
359
|
355
|
|
360
|
356
|
handleNotification("connectRetry", getName(), delay / 1000);
|
361
|
357
|
|
|
@@ -801,12 +797,6 @@ public final class Server extends WritableFrameContainer implements Serializable
|
801
|
797
|
return window;
|
802
|
798
|
}
|
803
|
799
|
|
804
|
|
- /** {@inheritDoc} */
|
805
|
|
- @Override
|
806
|
|
- public ConfigManager getConfigManager() {
|
807
|
|
- return configManager;
|
808
|
|
- }
|
809
|
|
-
|
810
|
800
|
/**
|
811
|
801
|
* Retrieves the current state for this server.
|
812
|
802
|
*
|
|
@@ -1046,11 +1036,11 @@ public final class Server extends WritableFrameContainer implements Serializable
|
1046
|
1036
|
final String sansIrcd = "numeric_" + snumeric;
|
1047
|
1037
|
String target = null;
|
1048
|
1038
|
|
1049
|
|
- if (configManager.hasOption("formatter", withIrcd)) {
|
|
1039
|
+ if (getConfigManager().hasOption("formatter", withIrcd)) {
|
1050
|
1040
|
target = withIrcd;
|
1051
|
|
- } else if (configManager.hasOption("formatter", sansIrcd)) {
|
|
1041
|
+ } else if (getConfigManager().hasOption("formatter", sansIrcd)) {
|
1052
|
1042
|
target = sansIrcd;
|
1053
|
|
- } else if (configManager.hasOption("formatter", "numeric_unknown")) {
|
|
1043
|
+ } else if (getConfigManager().hasOption("formatter", "numeric_unknown")) {
|
1054
|
1044
|
target = "numeric_unknown";
|
1055
|
1045
|
}
|
1056
|
1046
|
|
|
@@ -1087,19 +1077,21 @@ public final class Server extends WritableFrameContainer implements Serializable
|
1087
|
1077
|
|
1088
|
1078
|
updateIcon();
|
1089
|
1079
|
|
1090
|
|
- if (configManager.getOptionBool(DOMAIN_GENERAL, "closechannelsondisconnect", false)) {
|
|
1080
|
+ if (getConfigManager().getOptionBool(DOMAIN_GENERAL,
|
|
1081
|
+ "closechannelsondisconnect", false)) {
|
1091
|
1082
|
closeChannels();
|
1092
|
1083
|
} else {
|
1093
|
1084
|
clearChannels();
|
1094
|
1085
|
}
|
1095
|
1086
|
|
1096
|
|
- if (configManager.getOptionBool(DOMAIN_GENERAL, "closequeriesondisconnect", false)) {
|
|
1087
|
+ if (getConfigManager().getOptionBool(DOMAIN_GENERAL,
|
|
1088
|
+ "closequeriesondisconnect", false)) {
|
1097
|
1089
|
closeQueries();
|
1098
|
1090
|
}
|
1099
|
1091
|
|
1100
|
1092
|
removeInvites();
|
1101
|
1093
|
|
1102
|
|
- if (configManager.getOptionBool(DOMAIN_GENERAL, "reconnectondisconnect", false)
|
|
1094
|
+ if (getConfigManager().getOptionBool(DOMAIN_GENERAL, "reconnectondisconnect", false)
|
1103
|
1095
|
&& myState == ServerState.TRANSIENTLY_DISCONNECTED) {
|
1104
|
1096
|
doDelayedReconnect();
|
1105
|
1097
|
}
|
|
@@ -1147,7 +1139,8 @@ public final class Server extends WritableFrameContainer implements Serializable
|
1147
|
1139
|
|
1148
|
1140
|
handleNotification("connectError", getName(), description);
|
1149
|
1141
|
|
1150
|
|
- if (configManager.getOptionBool(DOMAIN_GENERAL, "reconnectonconnectfailure", false)) {
|
|
1142
|
+ if (getConfigManager().getOptionBool(DOMAIN_GENERAL,
|
|
1143
|
+ "reconnectonconnectfailure", false)) {
|
1151
|
1144
|
doDelayedReconnect();
|
1152
|
1145
|
}
|
1153
|
1146
|
}
|
|
@@ -1165,7 +1158,7 @@ public final class Server extends WritableFrameContainer implements Serializable
|
1165
|
1158
|
Long.valueOf(parser.getPingTime(false)));
|
1166
|
1159
|
|
1167
|
1160
|
if (parser.getPingTime(false)
|
1168
|
|
- >= configManager.getOptionInt(DOMAIN_SERVER, "pingtimeout", 60000)) {
|
|
1161
|
+ >= getConfigManager().getOptionInt(DOMAIN_SERVER, "pingtimeout", 60000)) {
|
1169
|
1162
|
handleNotification("stonedServer", getName());
|
1170
|
1163
|
reconnect();
|
1171
|
1164
|
}
|
|
@@ -1180,14 +1173,14 @@ public final class Server extends WritableFrameContainer implements Serializable
|
1180
|
1173
|
}
|
1181
|
1174
|
updateIcon();
|
1182
|
1175
|
|
1183
|
|
- configManager = new ConfigManager(parser.getIRCD(true), getNetwork(), getName());
|
|
1176
|
+ getConfigManager().migrate(parser.getIRCD(true), getNetwork(), getName());
|
1184
|
1177
|
updateIgnoreList();
|
1185
|
1178
|
|
1186
|
1179
|
converter = parser.getIRCStringConverter();
|
1187
|
1180
|
|
1188
|
1181
|
ActionManager.processEvent(CoreActionType.SERVER_CONNECTED, null, this);
|
1189
|
1182
|
|
1190
|
|
- if (configManager.hasOption(DOMAIN_GENERAL, "rejoinchannels")) {
|
|
1183
|
+ if (getConfigManager().hasOption(DOMAIN_GENERAL, "rejoinchannels")) {
|
1191
|
1184
|
for (Channel chan : channels.values()) {
|
1192
|
1185
|
chan.join();
|
1193
|
1186
|
}
|
|
@@ -1213,13 +1206,13 @@ public final class Server extends WritableFrameContainer implements Serializable
|
1213
|
1206
|
final StringBuffer missingUmodes = new StringBuffer();
|
1214
|
1207
|
|
1215
|
1208
|
for (char mode : modes.toCharArray()) {
|
1216
|
|
- if (!configManager.hasOption(DOMAIN_SERVER, "mode" + mode)) {
|
|
1209
|
+ if (!getConfigManager().hasOption(DOMAIN_SERVER, "mode" + mode)) {
|
1217
|
1210
|
missingModes.append(mode);
|
1218
|
1211
|
}
|
1219
|
1212
|
}
|
1220
|
1213
|
|
1221
|
1214
|
for (char mode : umodes.toCharArray()) {
|
1222
|
|
- if (!configManager.hasOption(DOMAIN_SERVER, "umode" + mode)) {
|
|
1215
|
+ if (!getConfigManager().hasOption(DOMAIN_SERVER, "umode" + mode)) {
|
1223
|
1216
|
missingUmodes.append(mode);
|
1224
|
1217
|
}
|
1225
|
1218
|
}
|
|
@@ -1248,7 +1241,7 @@ public final class Server extends WritableFrameContainer implements Serializable
|
1248
|
1241
|
+ "IRCd: " + parser.getIRCD(false)
|
1249
|
1242
|
+ " (" + parser.getIRCD(true) + ")\n"
|
1250
|
1243
|
+ "Mode alias version: "
|
1251
|
|
- + configManager.getOption("identity", "modealiasversion", "none")
|
|
1244
|
+ + getConfigManager().getOption("identity", "modealiasversion", "none")
|
1252
|
1245
|
+ "\n\n"));
|
1253
|
1246
|
}
|
1254
|
1247
|
}
|
|
@@ -1270,7 +1263,7 @@ public final class Server extends WritableFrameContainer implements Serializable
|
1270
|
1263
|
*/
|
1271
|
1264
|
public void updateIgnoreList() {
|
1272
|
1265
|
ignoreList.clear();
|
1273
|
|
- ignoreList.addAll(configManager.getOptionList("network", "ignorelist"));
|
|
1266
|
+ ignoreList.addAll(getConfigManager().getOptionList("network", "ignorelist"));
|
1274
|
1267
|
}
|
1275
|
1268
|
|
1276
|
1269
|
/**
|