// Decompiled by Jad v1.5.7f. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) 
// Source File Name:   BoggleThreadedHandler.java

import java.io.*;
import java.net.Socket;

public class BoggleThreadedHandler extends Thread
{

    public BoggleThreadedHandler(Socket socket)
    {
        s = null;
        s = socket;
        userNo = -1;
    }

    public BoggleThreadedHandler(Socket socket, int i)
    {
        s = null;
        s = socket;
        userNo = i;
    }

    public void run()
    {
        try
        {
            switch(userNo)
            {
            case -1: 
                try
                {
                    System.out.println("Boggle Server: Receiving new high score entry");
                    ObjectInputStream objectinputstream = new ObjectInputStream(s.getInputStream());
                    BoggleScore bogglescore = (BoggleScore)objectinputstream.readObject();
                    System.out.println(bogglescore.getName() + bogglescore.getScore());
                    t.addEntry(bogglescore);
                    objectinputstream.close();
                    break;
                }
                catch(ClassNotFoundException _ex)
                {
                    System.err.println("Serialized class not recognised");
                }
                System.exit(1);
                break;

            case -2: 
                System.out.println("Boggle Server: Sending hi-score table");
                ObjectOutputStream objectoutputstream = new ObjectOutputStream(s.getOutputStream());
                objectoutputstream.writeObject(t);
                System.out.println("Boggle Server: Transferred hi-score table");
                objectoutputstream.close();
                break;

            default:
                ObjectOutputStream objectoutputstream1 = new ObjectOutputStream(s.getOutputStream());
                objectoutputstream1.writeObject(gameGrid);
                System.out.println("Boggle Server: Transferred grid");
                objectoutputstream1.close();
                break;
            }
            s.close();
        }
        catch(IOException ioexception)
        {
            ioexception.printStackTrace();
        }
    }

    private static BoggleGrid gameGrid = new BoggleGrid();
    private static BoggleHiScoreSet t = new BoggleHiScoreSet();
    private Socket s;
    private int userNo;

}
