-
Notifications
You must be signed in to change notification settings - Fork 0
/
Unit.dcl
35 lines (28 loc) · 836 Bytes
/
Unit.dcl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
definition module Unit
import iTasks
import TTY
import Interpret.Device
import Program
from Room import :: Room, :: RoomId
from Requirements import :: Requirements
:: UnitId :== Int
:: Unit =
{ uId :: Int,
uName :: String,
uDev :: MTaskDevice,
uStatus :: Bool,
uTasks :: [ProgramInstance]
}
derive class iTask Unit, BaudRate, Parity, ByteSize, DeviceData, TTYSettings, Migration
instance == Unit
instance toString Unit
addUnit :: RoomId String a -> Task () | channelSync, iTask a
newUnit :: RoomId -> Task ()
editUnit :: Unit -> Task ()
viewUnit :: Unit -> Task ()
manageUnits :: Task ()
sendNewProgram :: Unit -> Task ()
enterTaskDetails :: Task (MTaskInterval, Migration)
filterCompUnits :: Program [Unit] -> Task [Unit]
sendProgramToUnit :: ProgramInstance Unit -> Task ()
disconnectUnit :: Unit -> Task ()