started with device handshake
[mTask.git] / Devices / mTaskDevice.dcl
index c489d01..17acd10 100644 (file)
@@ -10,7 +10,7 @@ import mTaskInterpret
 import Generics.gCons
 import iTasksTTY
 
-derive class iTask MTaskDevice, MTaskResource, MTaskMSGRecv, MTaskMSGSend, BCShare
+derive class iTask MTaskDevice, MTaskDeviceSpec, MTaskResource, MTaskMSGRecv, MTaskMSGSend, BCShare
 derive conses MTaskResource, TCPSettings
 derive consName MTaskResource, TCPSettings
 
@@ -20,13 +20,14 @@ derive consName MTaskResource, TCPSettings
        = TCPDevice TCPSettings
        | SerialDevice TTYSettings
 
-:: MTaskDevice = {
-                deviceTask :: Maybe TaskId
-               ,deviceError :: Maybe String
-               ,deviceChannels :: String
-               ,deviceName :: String
-               ,deviceTasks :: [MTaskTask]
-               ,deviceData :: MTaskResource
+:: MTaskDevice =
+               { deviceTask :: Maybe TaskId
+               , deviceError :: Maybe String
+               , deviceChannels :: String
+               , deviceName :: String
+               , deviceTasks :: [MTaskTask]
+               , deviceData :: MTaskResource
+               , deviceSpec :: Maybe MTaskDeviceSpec
        }
 
 instance == MTaskDevice
@@ -43,3 +44,4 @@ sendMessages :: [MTaskMSGSend] -> (MTaskDevice -> Task Channels)
 deviceTaskDelete :: MTaskDevice MTaskTask -> Task ()
 deviceTaskAcked :: MTaskDevice Int -> Task ()
 deviceTaskDeleteAcked :: MTaskDevice Int -> Task ()
+deviceAddSpec :: MTaskDevice MTaskDeviceSpec -> Task ()