Author: bdonlan
Date: 2005-01-05 23:36:53 -0500 (Wed, 05 Jan 2005)
New Revision: 527
Removed:
trunk/misc/javer/src/javer/HaverException.java
Modified:
/
trunk/misc/javer/src/javer/HaverClient.java
trunk/misc/javer/src/javer/JaverUIPanel.java
Log:
[EMAIL PROTECTED]: bdonlan | 2005-01-06T04:36:27.231719Z
Lots more work on Javer. The library should be almost complete enough for a
simple client now.
Property changes on:
___________________________________________________________________
Name: svk:merge
- 1f59643a-e6e5-0310-bc24-f7d4c744f460:/haver/local:11195
+ 1f59643a-e6e5-0310-bc24-f7d4c744f460:/haver/local:11199
Modified: trunk/misc/javer/src/javer/HaverClient.java
===================================================================
--- trunk/misc/javer/src/javer/HaverClient.java 2005-01-06 03:27:23 UTC (rev
526)
+++ trunk/misc/javer/src/javer/HaverClient.java 2005-01-06 04:36:53 UTC (rev
527)
@@ -126,20 +126,53 @@
});
serverevents.put("JOIN", new ServerHandler() {
public void trigger(String[] args) {
- if (args.length == 2) {
- eventChannelJoined(args[1]);
- } else if (args.length == 3) {
+ if (args[2].equals(uid)) {
+ eventChannelJoin(args[1]);
+ } else {
eventChannelJoin(args[1], args[2]);
}
}
});
+ serverevents.put("PART", new ServerHandler() {
+ public void trigger(String[] args) {
+ if (args[2].equals(uid)) {
+ eventChannelPart(args[1]);
+ } else {
+ eventChannelPart(args[1], args[2]);
+ }
+ }
+ });
+ serverevents.put("QUIT", new ServerHandler() {
+ public void trigger(String[] args) {
+ eventQuit(args[1], args[2]);
+ }
+ });
+ serverevents.put("LIST", new ServerHandler() {
+ public void trigger(String[] args) {
+ Set s = new HashSet();
+ if (!args[2].equals("user")) {
+ /* we only know how to list for users right now */
+ return;
+ }
+ for (int i = 3; i < args.length; i++) {
+ s.add(args[i]);
+ }
+ eventChannelList(args[1], s);
+ }
+ });
}
private void dispatchCommand(String s) throws java.io.IOException {
String[] parts = s.split("\t");
ServerHandler h = (ServerHandler) serverevents.get(parts[0]);
if (h != null) {
- h.trigger(parts);
+ try {
+ h.trigger(parts);
+ } catch(IOException e) {
+ /* we should probably do something here */
+ } catch(Exception e) {
+ /* and here */
+ }
}
}
@@ -155,13 +188,25 @@
/* STUB */
}
- public void eventChannelJoined(String where) {
+ public void eventChannelJoin(String where) {
/* STUB */
}
public void eventChannelJoin(String where, String who) {
/* STUB */
}
+
+ public void eventChannelPart(String where) {
+ /* STUB */
+ }
+
+ public void eventChannelPart(String where, String who) {
+ /* STUB */
+ }
+
+ public void eventQuit(String who, String why) {
+ /* STUB */
+ }
public void eventMessage(String where, String who, String type, String[]
args) {
if (type.equals("\"")) {
@@ -177,6 +222,10 @@
public void eventAction(String where, String who, String arg) {
/* STUB */
}
+
+ public void eventChannelList(String where, Set names) {
+ /* STUB */
+ }
public final String[] subStringArray(String[] array, int start, int end) {
if (start > end) {
@@ -212,4 +261,8 @@
public void eventIdenting() {
/* STUB */
}
+
+ public void listChannel(String channel) throws IOException {
+ send("LIST\t" + channel + "\tuser");
+ }
}
Deleted: trunk/misc/javer/src/javer/HaverException.java
===================================================================
--- trunk/misc/javer/src/javer/HaverException.java 2005-01-06 03:27:23 UTC
(rev 526)
+++ trunk/misc/javer/src/javer/HaverException.java 2005-01-06 04:36:53 UTC
(rev 527)
@@ -1,20 +0,0 @@
-/*
- * HaverException.java
- *
- * Created on January 5, 2005, 8:17 PM
- */
-
-package javer;
-
-/**
- *
- * @author bdonlan
- */
-public class HaverException extends Exception {
-
- /** Creates a new instance of HaverException */
- public HaverException() {
- super();
- }
-
-}
Modified: trunk/misc/javer/src/javer/JaverUIPanel.java
===================================================================
--- trunk/misc/javer/src/javer/JaverUIPanel.java 2005-01-06 03:27:23 UTC
(rev 526)
+++ trunk/misc/javer/src/javer/JaverUIPanel.java 2005-01-06 04:36:53 UTC
(rev 527)
@@ -6,6 +6,7 @@
package javer;
import java.io.*;
+import java.util.*;
/**
*
@@ -14,6 +15,7 @@
public class JaverUIPanel extends java.awt.Panel {
Client cli;
+ Set names = new HashSet();
/** Creates new form JaverUIPanel */
public JaverUIPanel() {
@@ -34,7 +36,7 @@
}
public void eventIdentAccepted() {
- putLine("Ident accepted.");
+ putLine("--- Logged in.");
try {
cli.join("lobby");
} catch (IOException e) {
@@ -43,9 +45,14 @@
super.eventIdentAccepted();
}
- public void eventChannelJoined(String where) {
- putLine("Joined " + where);
- super.eventChannelJoined(where);
+ public void eventChannelJoin(String where) {
+ putLine("--- You have now joined: " + where);
+ try {
+ listChannel(where);
+ } catch (IOException e) {
+ /* XXX */
+ }
+ super.eventChannelJoin(where);
}
public void eventMessage(String where, String who, String type,
String[] args) {
@@ -63,15 +70,63 @@
}
public void eventChannelJoin(String where, String who) {
- putLine(where + ": Joined: " + who);
+ putLine("--- " + where + ": Joined: " + who);
+ names.add(who);
+ userList.setListData(names.toArray());
super.eventChannelJoin(where, who);
}
public void eventIdenting() {
- putLine("Identing to server...");
+ putLine("--- Logging in...");
super.eventIdenting();
}
+ public void eventChannelPart(String where) {
+ putLine("--- You have now left channel " + where);
+ super.eventChannelPart(where);
+ }
+
+ public void eventChannelList(String where, java.util.Set newnames) {
+ int i;
+ names = newnames;
+ Iterator iter = names.iterator();
+ String line = "--- ";
+ userList.setListData(names.toArray());
+ putLine("--- Users for " + where + ": ");
+ i = 0;
+ while(iter.hasNext()) {
+ String nick = (String) iter.next();
+ if (i != 0) {
+ line = line + " - ";
+ }
+ line = line + nick;
+ i++;
+ if (i == 4) {
+ putLine(line);
+ line = "--- ";
+ i = 0;
+ }
+ }
+ if (i != 0) {
+ putLine(line);
+ }
+ super.eventChannelList(where, names);
+ }
+
+ public void eventQuit(String who, String why) {
+ names.remove(who);
+ userList.setListData(names.toArray());
+ putLine("--- " + who + " has quit: " + why);
+ super.eventQuit(who, why);
+ }
+
+ public void eventChannelPart(String where, String who) {
+ putLine("--- " + who + " has left " + where);
+ names.remove(who);
+ userList.setListData(names.toArray());
+ super.eventChannelPart(where, who);
+ }
+
}
public void putLine(String s) {