10898
|
1 |
module Main where
|
|
2 |
|
|
3 |
import Text.PrettyPrint.HughesPJ
|
|
4 |
|
|
5 |
data HWProtocol = Command String [CmdParam]
|
|
6 |
data CmdParam = Skip
|
|
7 |
| SS
|
|
8 |
| LS
|
|
9 |
| IntP
|
|
10 |
| Many [CmdParam]
|
|
11 |
data ClientStates = NotConnected
|
|
12 |
| JustConnected
|
|
13 |
| ServerAuth
|
|
14 |
| Lobby
|
|
15 |
|
|
16 |
cmd = Command
|
|
17 |
cmd1 s p = Command s [p]
|
|
18 |
cmd2 s p1 p2 = Command s [p1, p2]
|
|
19 |
|
|
20 |
commands = [
|
|
21 |
cmd "CONNECTED" [Skip, IntP]
|
|
22 |
, cmd1 "NICK" SS
|
|
23 |
, cmd1 "PROTO" IntP
|
|
24 |
, cmd1 "ASKPASSWORD" SS
|
|
25 |
, cmd1 "SERVER_AUTH" SS
|
|
26 |
, cmd1 "LOBBY:JOINED" $ Many [SS]
|
|
27 |
]
|
|
28 |
|
|
29 |
main = undefined
|