public State()
        {
            currentState = stateNormal;
            commands = new Dictionary<string, processCommand>();

            commands.Add("bad", receivedBad);
            commands.Add("0308", received308);
            commands.Add("0310", received310);
            commands.Add("030b", received30b);
        }
        static void Main(string[] args)
        {
            string connectionString = @"Driver={Microsoft Access Driver (*.mdb)};" +
             @"Dbq=C:\documents and settings\erikla\my documents\trunktracking.mdb;Uid=Admin;Pwd=;";

            connection = new OdbcConnection(connectionString);
            connection.Open();

            StreamReader stdin = new StreamReader(Console.OpenStandardInput());
            State state = new State();

            do
            {
                string line = stdin.ReadLine();
                State.currentState.doCommand(line);

            } while (stdin.EndOfStream == false);
            connection.Close();
        }
 public virtual void received308(OSW osw)
 {
     //Console.WriteLine("308");
     lastOSW = osw;
     currentState = state308;
 }
 public virtual void receivedOther(OSW osw)
 {
     //Console.WriteLine("Other: cmd: {0:X4}, group: {1:X4}", osw.command, osw.group);
     currentState = stateNormal;
 }
 public virtual void receivedFrequency(OSW osw)
 {
     //Console.WriteLine("Freq.");
     currentState = stateNormal;
 }
 public virtual void receivedBad(OSW osw)
 {
     //Console.WriteLine("Bad");
     currentState = stateBad;
 }
 public virtual void received310(OSW osw)
 {
     //Console.WriteLine("***310");
     currentState = stateNormal;
 }