updates
[mTask.git] / Devices / mTaskDevice.dcl
index 17acd10..dc097f5 100644 (file)
@@ -10,7 +10,7 @@ import mTaskInterpret
 import Generics.gCons
 import iTasksTTY
 
-derive class iTask MTaskDevice, MTaskDeviceSpec, MTaskResource, MTaskMSGRecv, MTaskMSGSend, BCShare
+derive class iTask MTaskDevice, MTaskResource, MTaskMSGRecv, MTaskMSGSend, BCShare
 derive conses MTaskResource, TCPSettings
 derive consName MTaskResource, TCPSettings
 
@@ -28,6 +28,7 @@ derive consName MTaskResource, TCPSettings
                , deviceTasks :: [MTaskTask]
                , deviceData :: MTaskResource
                , deviceSpec :: Maybe MTaskDeviceSpec
+               , deviceShares :: [MTaskShare]
        }
 
 instance == MTaskDevice
@@ -35,13 +36,18 @@ instance == MTaskDevice
 class MTaskDuplex a where
        synFun :: a (Shared Channels) -> Task ()
 
+withDevices :: MTaskDevice (MTaskDevice -> MTaskDevice) -> Task [MTaskDevice]
+//withDevices :: MTaskDevice (MTaskDevice -> MTaskDevice) -> Task ()
+
 startupDevices :: Task [MTaskDevice]
-connectDevice :: (MTaskDevice (Shared Channels) -> Task ()) MTaskDevice -> Task ()
+connectDevice :: (MTaskDevice (Shared Channels) -> Task ()) MTaskDevice -> Task Channels
 manageDevices :: (MTaskDevice (Shared Channels) -> Task ()) [MTaskDevice] -> Task ()
-sendToDevice :: String (Main (ByteCode () Stmt)) (MTaskDevice, MTaskInterval) -> Task ()
-sendMessages :: [MTaskMSGSend] -> (MTaskDevice -> Task Channels)
+
+sendMessages :: [MTaskMSGSend] MTaskDevice -> Task Channels
+sendMessagesIW :: [MTaskMSGSend] MTaskDevice *IWorld -> *(MaybeError TaskException (), *IWorld)
+
 
 deviceTaskDelete :: MTaskDevice MTaskTask -> Task ()
-deviceTaskAcked :: MTaskDevice Int -> Task ()
-deviceTaskDeleteAcked :: MTaskDevice Int -> Task ()
-deviceAddSpec :: MTaskDevice MTaskDeviceSpec -> Task ()
+deviceTaskAcked :: MTaskDevice Int Int -> Task [MTaskDevice]
+deviceTaskDeleteAcked :: MTaskDevice Int -> Task [MTaskDevice]
+deviceAddSpec :: MTaskDevice MTaskDeviceSpec -> Task [MTaskDevice]