removed whileUnchanged for devices
[mTask.git] / Devices / mTaskDevice.dcl
index b1c7acc..5fc0bfe 100644 (file)
@@ -25,6 +25,7 @@ derive consName MTaskResource, TCPSettings
                , deviceError :: Maybe String
                , deviceChannels :: String
                , deviceName :: String
+               , deviceState :: BCState
                , deviceTasks :: [MTaskTask]
                , deviceData :: MTaskResource
                , deviceSpec :: Maybe MTaskDeviceSpec
@@ -36,18 +37,18 @@ instance == MTaskDevice
 class MTaskDuplex a where
        synFun :: a (Shared Channels) -> Task ()
 
-withDevice :: (MTaskDevice -> Task a) String -> Task a | iTask a
+withDevices :: MTaskDevice (MTaskDevice -> MTaskDevice) -> Task [MTaskDevice]
+//withDevices :: MTaskDevice (MTaskDevice -> MTaskDevice) -> Task ()
 
 startupDevices :: Task [MTaskDevice]
-connectDevice :: (MTaskDevice (Shared Channels) -> Task ()) MTaskDevice -> Task ()
-manageDevices :: (MTaskDevice (Shared Channels) -> Task ()) [MTaskDevice] -> Task ()
+connectDevice :: (MTaskDevice (Shared Channels) -> Task ()) MTaskDevice -> Task Channels
+manageDevices :: (MTaskDevice (Shared Channels) -> Task ()) -> Task ()
 
 sendMessages :: [MTaskMSGSend] MTaskDevice -> Task Channels
 sendMessagesIW :: [MTaskMSGSend] MTaskDevice *IWorld -> *(MaybeError TaskException (), *IWorld)
 
-withDevices :: MTaskDevice (MTaskDevice -> MTaskDevice) -> Task ()
 
 deviceTaskDelete :: MTaskDevice MTaskTask -> Task ()
-deviceTaskAcked :: MTaskDevice Int 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]