equal
deleted
inserted
replaced
37 } |
37 } |
38 |
38 |
39 type ClientsTransform = [ClientInfo] -> [ClientInfo] |
39 type ClientsTransform = [ClientInfo] -> [ClientInfo] |
40 type RoomsTransform = [RoomInfo] -> [RoomInfo] |
40 type RoomsTransform = [RoomInfo] -> [RoomInfo] |
41 type HandlesSelector = ClientInfo -> [ClientInfo] -> [RoomInfo] -> [Handle] |
41 type HandlesSelector = ClientInfo -> [ClientInfo] -> [RoomInfo] -> [Handle] |
42 type CmdHandler = ClientInfo -> [ClientInfo] -> [RoomInfo] -> [String] -> (ClientsTransform, RoomsTransform, HandlesSelector, [String]) |
42 type CmdHandler = ClientInfo -> [ClientInfo] -> [RoomInfo] -> [String] -> (ClientsTransform, RoomsTransform, [(HandlesSelector, [String])]) |
43 |
43 |
44 |
44 |
45 roomByName :: String -> [RoomInfo] -> RoomInfo |
45 roomByName :: String -> [RoomInfo] -> RoomInfo |
46 roomByName roomName rooms = fromJust $ find (\room -> roomName == name room) rooms |
46 roomByName roomName rooms = fromJust $ find (\room -> roomName == name room) rooms |
47 |
47 |
88 addRoom :: RoomInfo -> RoomsTransform |
88 addRoom :: RoomInfo -> RoomsTransform |
89 addRoom room rooms = room:rooms |
89 addRoom room rooms = room:rooms |
90 |
90 |
91 removeRoom :: String -> RoomsTransform |
91 removeRoom :: String -> RoomsTransform |
92 removeRoom roomname rooms = filter (\rm -> roomname /= name rm) rooms |
92 removeRoom roomname rooms = filter (\rm -> roomname /= name rm) rooms |
93 |
|
94 badCmd :: [String] |
|
95 badCmd = ["ERROR", "Bad command, state or incorrect parameter"] |
|